<template>
  <view
      :style="[$u.addStyle(customStyle)]"
      class="u-slider"
  >
    <slider
        :activeColor="activeColor"
        :blockColor="blockColor"
        :blockSize="$u.getPx(blockSize)"
        :disabled="disabled"
        :inactiveColor="inactiveColor"
        :max="max"
        :min="min"
        :showValue="showValue"
        :step="step"
        :value="value"
        @change="changeHandler"
        @changing="changingHandler"
    ></slider>
  </view>
</template>

<script>
import props from './props.js'

export default {
  name: 'u--slider',
  mixins: [uni.$u.mpMixin, uni.$u.mixin, props],
  methods: {
    // 拖动过程中触发
    changingHandler(e) {
      const {
        value
      } = e.detail
      // 更新v-model的值
      this.$emit('input', value)
      // 触发事件
      this.$emit('changing', value)
    },
    // 滑动结束时触发
    changeHandler(e) {
      const {
        value
      } = e.detail
      // 更新v-model的值
      this.$emit('input', value)
      // 触发事件
      this.$emit('change', value)
    }
  },
}
</script>

<style lang="scss" scoped>
@import "../../libs/css/components.scss";
</style>
